package singleton;

/**
 * @program: thread
 * @description: 饿汉式(线程安全，调用效率高，但是不能延时加载)
 * 如果程序从头到位都没用使用这个单例的话，单例的对象还是会创建。
 * 这就造成了不必要的资源浪费。所以不推荐这种实现方式。
 * @author: gongj
 * @Description: TODO
 * @create: 2020-07-11 21:19
 **/
public class SingletonTest {

    private static final SingletonTest singleton;


    //静态代码块
    static {
        singleton = new SingletonTest();
    }
    private SingletonTest(){
        System.out.println("无参构造方法执行");
    }

    public static SingletonTest getSingleton(){
       return singleton;
    }

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            new Thread(()->{
                System.out.println(SingletonTest.getSingleton());
            }).start();
        }
    }
}
